/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ControladoresUI;

import Entidades.Asignacionseccioncurso;
import Entidades.Catedratico;
import Entidades.Curso;
import Entidades.Horariocatedratico;
import Entidades.Usuario;
import Ingresos.ICatedratico;
import ManagersUI.CatedraticoModificarManager;
import ManagersUI.FichaCatedraticoManager;
import Modelos.CursosActualesModel;
import Modelos.HorarioCatedraticoModel;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.Label;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;

/**
 *
 * @author Carlos Andy T. Tiniguar <Tini0106Andy@gmail.com>
 */
public class FichaCatedraticoController {
    Usuario usuario; 
    FichaCatedraticoManager fichaCatedraticoManager;
    Catedratico registro;
    @FXML private Label lblNombre;
    @FXML private Label lblApellidos;
    @FXML private Label lblTelefono;
    @FXML private Label lblCreditos;
    @FXML ComboBox cmbCatedratico;  
    @FXML private TableView<Curso> tblCursos;
    @FXML private TableColumn<Curso, String> nombreColumna;
    @FXML private TableColumn<Curso, Integer> creditosPracticosColumna;
    @FXML private TableColumn<Curso, Integer> creditosTeoricosColumna;
     @FXML private TableColumn<Curso, Integer> periodosColumna;
     @FXML private TableColumn<Curso, Boolean> seccionpracticaColumna;
     @FXML private TableColumn<Curso, Boolean> extraordinarioColumna;
    @FXML private TableView<Horariocatedratico> tblHorario;
    @FXML private TableColumn<Horariocatedratico, String> Dia;
    
    public void initialize() {}
  
    public void initManager(final FichaCatedraticoManager fichaCatedraticoManager,Usuario usuario) {
        this.fichaCatedraticoManager = fichaCatedraticoManager;
        this.usuario = usuario;
        cargarCatedratico();
        
    }
    public void cargarCatedratico(){
        this.cmbCatedratico.setPromptText("Catedratico");
         ICatedratico manejo = new ICatedratico();
        this.cmbCatedratico.getItems().clear();
        this.cmbCatedratico.getItems().addAll(manejo.mostrarTodo());
        this.cmbCatedratico.setValue(this.cmbCatedratico.getItems().get(0));
        this.registro =(Catedratico) cmbCatedratico.getValue();
        cargarDatos();
        cargarTablaCursoActual();
         cargarTablaHorario();
     }
    public void cargarDatos(){
        this.lblNombre.setText(this.registro.getNombre());    
        this.lblApellidos.setText(this.registro.getApellidos());
        this.lblTelefono.setText(this.registro.getTelefono());
        this.lblCreditos.setText(Short.toString(this.registro.getCreditos()));
        
    }
    @FXML
    private void BuscarCatedratico(ActionEvent event){
        this.registro =(Catedratico) cmbCatedratico.getValue();
        cargarDatos(); 
        cargarTablaCursoActual();
        cargarTablaHorario();
    }
    @FXML
    private void ModificarFichaCatedratico(ActionEvent event){
        System.out.println("Hola");
    }
    @FXML
    private void RegresarInicio(ActionEvent event){
       fichaCatedraticoManager.showPnlCatedraticoInicio(usuario);
    }
    public void cargarTablaCursoActual(){
      CursosActualesModel curosactualModel = new CursosActualesModel(null,registro.getNumeroCatedratico()); 
              tblCursos.setItems(curosactualModel.getPersonData());       
        nombreColumna.setCellValueFactory(new PropertyValueFactory<Curso, String>("nombre"));
         creditosPracticosColumna.setCellValueFactory(new PropertyValueFactory<Curso, Integer>("creditospracticos"));
          creditosTeoricosColumna.setCellValueFactory(new PropertyValueFactory<Curso, Integer>("creditosteoricos"));
        periodosColumna.setCellValueFactory(new PropertyValueFactory<Curso, Integer>("periodosSemanales"));
         seccionpracticaColumna.setCellValueFactory(new PropertyValueFactory<Curso, Boolean>("seccionPractica"));
         extraordinarioColumna.setCellValueFactory(new PropertyValueFactory<Curso, Boolean>("extraordinario"));
     
    }
    public void cargarTablaHorario(){
      HorarioCatedraticoModel HorarioModel = new HorarioCatedraticoModel(this.registro.getNumeroCatedratico()); 
        tblHorario.setItems(HorarioModel.getPersonData());
        Dia.setCellValueFactory(new PropertyValueFactory<Horariocatedratico, String>("dia"));
    }
}
    